**Final project proposal** (#) dhawals1939 - f006yzt (##) Features Implemented 1. Parallelization of the Code (2 pts). 2. Intel Open Denoise (3 pts) 3. Stratified Sampling (3 pts). 4. Photon Mapping (8 pts) (##) Parallelization of the rendering
single thread multi thread
Observed a `8x` speedup with 8 threads. (##) Denoising with various parameters High(4096) SPP vs 100 SPP
Native Refence with 4096 samples
High(4096) SPP vs 100 SPP with Intel Open Denoise with Radiance
Refence with 4096 samples Denoise with only final Radiance
High(4096) SPP vs 100 SPP with Intel Open Denoise with Color and Normal
Refence with 4096 samples Denoise with Albedo and Normal with clean AUX
High(4096) SPP vs 100 SPP with Intel Open Denoise with Albedo and Normal without clean AUX
Denoise with Albedo and Normal with clean AUX Denoise with Albedo and Normal without clean AUX
Best(with Auxilary Albedo and Normal) vs Simple Radiance Denoise
Denoise with just Radiance Denoise with Albedo and Normal with clean AUX
Denoising with Normal and Albedo assuming both are clean Auxilary data gives the best results. Just using radiance gives a lot of artifacts image. (##) Stratified Sampling Low SPP Comparision 9 SPP Comprarision
stratified 9spp independent 9spp
36 SPP Comparision
stratified 36 spp independent 36 spp
Stratified sampling divides the space into strata and then adds jitter to the samples. This makes the coverage of the space more uniform. And the renders are of better quality. I have used 9 and 36 samples per pixel for the comparison. As it needs samples to be square. I also used the stratification for the lens sample instead of picking one from the random2f instead of just 2D image. (##) Photon Mapping Indirect Illumination with light facing upwards.
Indirect Lighting
Scene rendered at 16k samples on Blender Cycles
Once Photon Mapping is done and Photons are visualized
Path tracing vs Photon Mapping Length of path 4
Path Traced with Max bounces 4 Photon Map with 16spp
For the Path Tracer the length of the path is 4 and for the Photon Mapping the length of the path is 2 + 2. Where 2 is from the photon map generatation shot from the light and 2 is from the forward pass. Final Scene Comparison with 16spp - Path Tracer with 200 bounces - Photon Mapping with 2+2 bounces Equal Time Comparison \~ 40 seconds
4 - (2+2) bounces 200 Bounces
Final Submision Comparision between blender vs my implementation
2 second 5000 photon map 4096 samples (GPU 1 min)
Comparison against Path traced with 20 bounces 100 SPP
2 second 5000 photon map 100spp 20 bounces samples (GPU 1 min)
Modifying the photon map with a beam search
2 second 5000 photon map Photon Beam
References and help ``` Mitsuba 0.6 Pbrt v3 book Help from the friends Micheal and Matthew https://poly.pizza/m/cEbi0acnY23 ```